#pragma once

#include <AST/expr/literal/LiteralAST.hpp>

class Char : public Literal {
  public:
    const char val;

    Char(char val);
    
    virtual Type *getType() override;

    virtual Constant *codegen() override;

    static Value *getDefault();

    friend class graphviz::GraphGenerator;

    virtual VisitResult accept(ASTVisitor &visitor) const override {
        return visitor.visitCharAST(this);
    }
};